/*
 * @Author: 小花
 * @Date: 2022-01-24 01:01:10
 * @LastEditors: 小花
 * @LastEditTime: 2022-05-14 22:28:53
 * @Description: 
 */
import axios from 'axios'
import router from './router'
import { clearLoginInfo } from './public'
import { ElMessage } from 'element-plus'

axios.defaults.baseURL = 'http://localhost:8080'


// 添加请求拦截器
axios.interceptors.request.use(function (config) {
  // 在发送请求之前做些什么
  config.headers.satoken = localStorage.getItem("satoken");
  // config.headers[ 'Content-Type' ] = "application/json; charset=utf-8";
  return config;

}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error);
});

// 添加响应拦截器
axios.interceptors.response.use(response => {
  // 2xx 范围内的状态码都会触发该函数。
  // 对响应数据做点什么
  if (response.data.code == 43008) {
    ElMessage.warning({
      message: response.data.msg,
      showClose: true
    });
    if (router.currentRoute.name != 'wxScanLogin') { router.push({ name: 'wxScanLogin' }) }
    clearLoginInfo();
  }

  if (response.data.code === 43003) {
    ElMessage.warning({
      message: response.data.msg,
      showClose: true
    });
    router.go(-1)
  }
  return response;
}, function (error) {
  // 超出 2xx 范围的状态码都会触发该函数。
  // 对响应错误做点什么
  return Promise.reject(error);
});

export default axios